package com.rshang.rsdp.mapper;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import com.rshang.rsdp.entity.TbUser;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 用户信息表 Mapper 接口
 * </p>
 *
 * @author zhangjun
 * @since 2017-07-21
 */
public interface TbUserMapper extends BaseMapper<TbUser> {

    /**
     * 获取用户角色信息
     *
     * @param userid 用户id
     *
     * @return List<String>
     */
    public List<String> getRolesByUserId(@Param("userid") String userid);

    /**
     * 获取用户权限信息
     *
     * @param userid 用户id
     *
     * @return List<String>
     */
    public List<String> getAuthsByUserId(@Param("userid") String userid);

    /**
     * 获取用户左侧菜单信息
     *
     * @param userid 用户id
     *
     * @return List<TreeMenu>
     */
    public List<HashMap> getMenuByUserId(@Param("userid") String userid);


    /**
     * 用户管理分页查询
     *
     * @param page 分页对象
     * @param xm   姓名
     * @param gh   工号
     *
     * @return List<HashMap>
     */
    public List<HashMap> getUserPageList(Pagination page, @Param("xm") String xm, @Param("gh") String gh);

    /**
     * 根据id获取修改用户信息
     *
     * @param userId 用户id
     *
     * @return Map
     */
    public Map getUserEditById(@Param("userid") String userId);

    /**
     * 获取有效用户列表
     *
     * @param czr 用户id
     *
     * @return List<HashMap>
     */
    public List<HashMap> getYxUserList(@Param("czr") String czr);

    /**
     * 获取所有用户列表
     *
     * @param czr 用户id
     *
     * @return List<HashMap>
     */
    public List<HashMap> getUserAll(@Param("czr") String czr);


}